home *** CD-ROM | disk | FTP | other *** search
- /* subprogram for Notes.pprx */
-
- signal on halt
- signal on break_c
- signal on break_e
- signal on break_d
- call ppm_SetStyle(N)
-
- noteneingabe:
- /* smallest notedistance */
- sysart = "notesystem:2"
- systemart = ppm_Getform("Pleace repeat your choice of the notesystems... (2, 1v oder 1b)", 3, sysart)
- select
- when systemart == '2' then zdist = 4
- when systemart == '1v' then zdist = 2
- when systemart == '1b' then zdist = 2
- otherwise noteneingabe()
- end
- zdist2 = zdist-2
- xgrdform = "(1,2,4,8 oder 16)"
- xgrd = ppm_GetForm("Pleace give in the smallest note distance ...(nothing=Break!)", 3, xgrdform)
- if xgrd == '' then exit_msg("Break")
- select
- when xgrd == '1' then xg =0.7
- when xgrd == '2' then xg =1.4
- when xgrd == '4' then xg =2.8
- when xgrd == '8' then xg =5.6
- when xgrd == '16' then xg =11.2
- otherwise notenwert()
- end
-
- /* pointmessure of the notes */
- notepkt = 26
- call ppm_SetJustification(0)
-
- zz = 0 /* linecounter (german=Zeilenzähler) */
- notex = 0
- notey = 0
- page = ppm_CurrentPage()
-
- clickpos:
- res = ppm_GetUserText(2, "Manual or align to Box? m/b")
- if res == 'M' then res = 'm'
- if res == 'B' then res = 'b'
- click:
- select
- when res == 'm' then
- do
- clickpos = ppm_GetClickPosition("Pleace click on the place, where I shall begin...")
- if clickpos == 0 then
- do
- click()
- end
- else
- do
- notey = word(clickpos, 2)
- notex = word(clickpos, 1)
- if notex < 2.5 then notex = 2.5
- xw = notex
- yw = notey
- if systemart ~= '2' then
- do
- if notey <= 3.3 then zz= 0 /* zz ist ZeilenZähler */
- if ((notey > 3.5)&(notey < 5.3)) then zz = 2
- if ((notey > 5.5)&(notey < 7.3)) then zz = 4
- if ((notey > 7.5)&(notey < 9.3)) then zz = 6
- if ((notey > 9.5)&(notey < 11.3)) then zz = 8
- if ((notey > 11.5)&(notey < 13.3)) then zz = 10
- if ((notey > 13.5)&(notey < 15.3)) then zz = 12
- if ((notey > 15.5)&(notey < 17.3)) then zz = 14
- if ((notey > 17.5)&(notey < 19.3)) then zz = 16
- if ((notey > 19.5)&(notey < 21.3)) then zz = 18
- if ((notey > 21.5)&(notey < 23.3)) then zz = 20
- if ((notey > 23.5)&(notey < 25.3)) then zz = 22
- if notey > 25.3 then noteneingabe()
- end
- else
- do
- if notey <= 3.3 then zz= 0 /* zz is linecounter */
- if ((notey > 3.5)&(notey < 5.3)) then zz = 4
- if ((notey > 5.5)&(notey < 11.3)) then zz = 8
- if ((notey > 11.5)&(notey < 15.3)) then zz = 12
- if ((notey > 15.5)&(notey < 19.3)) then zz = 16
- if ((notey > 19.5)&(notey < 23.3)) then zz = 20
- if notey > 25.3 then noteneingabe()
- end
- end
- end
- when res == 'b' then
- clickb:
- do
- clickbox = ppm_ClickOnBox("Pleace click on a box, where I shall work away ...")
- if clickbox == '' then clickb()
- pos = ppm_GetBoxPosition(clickbox)
- notex = word(pos, 1)
- notey = word(pos, 2)
- xw = notex
- yw = notey
- call ppm_BoxAtPosn(notex, notey, page)
- if systemart ~= '2' then
- do
- if notey <= 3.3 then zz= 0 /* zz ist ZeilenZähler */
- if ((notey > 3.5)&(notey < 5.3)) then zz = 2
- if ((notey > 5.5)&(notey < 7.3)) then zz = 4
- if ((notey > 7.5)&(notey < 9.3)) then zz = 6
- if ((notey > 9.5)&(notey < 11.3)) then zz = 8
- if ((notey > 11.5)&(notey < 13.3)) then zz = 10
- if ((notey > 13.5)&(notey < 15.3)) then zz = 12
- if ((notey > 15.5)&(notey < 17.3)) then zz = 14
- if ((notey > 17.5)&(notey < 19.3)) then zz = 16
- if ((notey > 19.5)&(notey < 21.3)) then zz = 18
- if ((notey > 21.5)&(notey < 23.3)) then zz = 20
- if ((notey > 23.5)&(notey < 25.3)) then zz = 22
- if notey > 25.3 then noteneingabe()
- end
- else
- do
- if notey <= 3.3 then zz= 0 /* zz ist ZeilenZähler */
- if ((notey > 3.5)&(notey < 5.3)) then zz = 4
- if ((notey > 5.5)&(notey < 11.3)) then zz = 8
- if ((notey > 11.5)&(notey < 15.3)) then zz = 12
- if ((notey > 15.5)&(notey < 19.3)) then zz = 16
- if ((notey > 19.5)&(notey < 23.3)) then zz = 20
- if notey > 25.3 then noteneingabe()
- end
- if notex <= 1 then
- do
- noteneingabe()
- end
- end
- otherwise clickpos()
- end
-
- /* pointerbox */
-
- zbid = ppm_CreateBox(notex, zz+zdist2+0.5, 0.3, 1, 0)
- call ppm_SetSize(26)
- zbn = ppm_GetBoxName(zbid)
- call ppm_TextIntoBox(zbn, '5')
-
- notenwert:
-
- do forever
- cr = '0a'x
- form = "worth name ['n'at.]"
- call ppm_SetBoxPosition(zbid, notex, zz+zdist2+0.5)
- call ppm_UpdateScreen()
- eingabe = ppm_GetForm("Please give in for the notes ...(nothing=BREAK )", 9, form)
- if eingabe == '' then
- do
- call ppm_DeleteBox(zbid)
- exit_msg("Break")
- end
- nw = word(eingabe, 1)
- if nw == 'P' then nw = 'p'
- nn = word(eingabe, 2)
- al = word(eingabe, 3)
- if al == 'N' then al = 'n'
- IF nw == 'D' then nw = 'd'
- if nw == 'C' then nw = 'C'
- if nw == 'L' then nw = 'l'
- if nn == 'L' then nn = 'l'
- if nw == "NEW" then nw = "new"
-
-
- select
- when nn=='DB1' then nn = 'Db1'
- when nn=='EB1' then nn = 'Eb1'
- when nn=='GB1' then nn = 'Gb1'
- when nn=='AB1' then nn = 'Ab1'
- when nn=='BB1' then nn = 'Bb1'
- when nn=='DB2' then nn = 'Db2'
- when nn=='EB2' then nn = 'Eb2'
- when nn=='GB2' then nn = 'Gb2'
- when nn=='AB2' then nn = 'Ab2'
- when nn=='BB2' then nn = 'Bb2'
- when nn=='DB3' then nn = 'Db3'
- when nn=='EB3' then nn = 'Eb3'
- when nn=='GB3' then nn = 'Gb3'
- when nn=='AB3' then nn = 'Ab3'
- otherwise NOP
- end
-
- /* x-distance of the notes*/
- auswahl:
- select
- when nw == 's' then
- do
- xw = xg/16
- nw='x'
- yv = 0
- end
- when nw == 'S' then
- do
- xw = xg/16
- nw='X'
- yv = 0.47
- end
- when nw == 'e' then
- do
- xw = xg/8
- nw='e'
- yv = 0
- end
- when nw == 'E' then
- do
- xw = xg/8
- nw='E'
- yv = 0.47
- end
- when nw == 'q' then
- do
- xw = xg/4
- nw='q'
- yv = 0
- end
- when nw == 'Q' then
- do
- xw = xg/4
- nw='Q'
- yv = 0.47
- end
- when nw == 'h' then
- do
- xw = xg/2
- yv = 0
- end
- when nw == 'H' then
- do
- xw = xg/2
- yv = 0.47
- end
- when nw == 'w' then
- do
- xw = xg
- nw='w'
- yv = 0
- end
- when nw == 'W' then
- do
- xw = xg
- nw='W'
- yv = 0.47
- end
-
- /*Point after the note*/
-
- when nw == 'pt' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
-
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+1.5)
- notenwert()
-
- end
-
- when nw == 'PT' then
- do
- if notex < 3 then
- do
- notex = bakx
- zz = zz - zdist
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- else
- do
- call ppm_SetSize(25)
- box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'd')
- end
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+1.5)
- notenwert()
- end
-
-
- /* Delete */
- when nw == 'd' then
- do
- oldpos = notex
- thisbox = ppm_BoxNum()
- if thisbox == zbid then
- do
- ppm_Inform(1, "Nothing to delete!","OK")
- notenwert()
- end
- lpos= ppm_GetBoxPosition()
- notex = word(lpos, 1)
- call ppm_DeleteBox()
- diff = oldpos - notex
- if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23
- py = zz - 1
- px = notex - 4
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+1.5)
- notenwert()
- end
-
- /* barline */
- when nw == 'l' then
- do
- call ppm_SetLineWeight(0.25)
- call ppm_DrawLine(notex, 2+zz+zdist2, notex, 2.8+zz+zdist2)
- notex = notex+0.2
- end
-
-
- when nw == 'p' | when nw == 'P' then
- do
- pausenwert:
- x = notex
- select
- when nn == '1' then do
-
- y = 2.29+zz+zdist2
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg
- notex = notex+xw
- end
-
- when nn == '2' then do
-
- y = 2.33+zz+zdist2
- call ppm_SetLineWeight(4)
- call ppm_DrawLine(x, y, x+0.4, y)
- call ppm_SetLineWeight(0.25)
- xw = xg/2
- notex = notex+xw
- end
-
- when nn == '4' then do
-
- y = 2.07+zz+zdist2
- Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause)
- xw = xg/4
- notex = notex+xw
- end
-
- when nn == '8' then do
-
- y = 2.21+zz+zdist2
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause)
- xw = xg/8
- notex = notex+xw
- end
-
- when nn == '16' then do
-
- y = 2.21+zz+zdist2
- Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause)
- xw = xg/16
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+1.5)
- notenwert()
- end
-
- /* spaces */
-
- when nw == 'c' then
- do
- select
- when nn == '1' then
- do
- xw = xg
- notex = notex+xw
- end
- when nn == '2' then
- do
- xw = xg/2
- notex = notex+xw
- end
- when nn == '4' then
- do
- xw = xg/4
- notex = notex+xw
- end
- when nn == '8' then
- do
- xw = xg/8
- notex = notex+xw
- end
- when nn == '16' then
- do
- xw = xg/16
- notex = notex+xw
- end
- when nn == 'l' then
- do
- xw = 0.2
- notex = notex+xw
- end
- otherwise notenwert()
- end
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+1.5)
- notenwert()
- end
-
- when nw == 'new' then
- do
- call ppm_DeleteBox(zbid)
- clickpos()
- end
- otherwise notenwert()
- end
-
- /* y-distance of the notes - notestem to top */
-
- call ppm_SetLineWeight(0.25)
-
- select
- when nn=='g#3' then
- do
- yw = 0.745 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
- end
-
- when nn=='g3' then
- do
- yw = 0.745 + zdist2
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
- end
-
- when nn=='gb3' then
- do
- yw = 0.745 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
- end
-
- when nn=='f#3' then
- do
- yw = 0.845 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='f3' then
- do
- yw = 0.845 + zdist2
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='e#3' then
- do
- yw = 0.945 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='e3' then
- do
- yw = 0.945 + zdist2
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='eb3' then
- do
- yw = 0.945 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='d#3' then
- do
- yw = 1.045 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='d3' then
- do
- yw = 1.045 + zdist2
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='db3' then
- do
- yw = 1.045 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='c#3' then
- do
- yw = 1.145 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='c3' then
- do
- yw = 1.145 + zdist2
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='b2' then
- do
- yw = 1.245 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='bb2' then
- do
- yw = 1.245 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='a#2' then
- do
- yw = 1.345 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='a2' then
- do
- yw = 1.345 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='ab2' then
- do
- yw = 1.345 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='g#2' then
- do
- yw = 1.445 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='g2' then
- do
- yw = 1.445 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='gb2' then
- do
- yw = 1.445 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='f#2' then
- do
- yw = 1.545 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='f2' then
- do
- yw = 1.545 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='e#2' then
- do
- yw = 1.645 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
- when nn=='e2' then
- do
- yw = 1.645 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='eb2' then
- do
- yw = 1.645 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='d#2' then
- do
- yw = 1.745 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='d2' then
- do
- yw = 1.745 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='db2' then
- do
- yw = 1.745 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='c#2' then
- do
- yw = 1.845 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='c2' then
- do
- yw = 1.845 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='b1' then
- do
- yw = 1.945 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='bb1' then
- do
- yw = 1.945 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='a#1' then
- do
- yw = 2.045 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='a1' then
- do
- yw = 2.045 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='ab1' then
- do
- yw = 2.045 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='g#1' then
- do
- yw = 2.145 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='g1' then
- do
- yw = 2.145 + zdist2
- if al == 'n' then call auflhoch()
- end
- when nn=='gb1' then
- do
- yw = 2.145 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='f#1' then
- do
- yw = 2.245 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='f1' then
- do
- yw = 2.245 + zdist2
- if al == 'n' then call auflhoch()
- end
-
- when nn=='e#1' then
- do
- yw = 2.345 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
- when nn=='e1' then
- do
- yw = 2.345 + zdist2
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='eb1' then
- do
- yw = 2.345 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='d#1' then
- do
- yw = 2.445 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='d1' then
- do
- yw = 2.445 + zdist2
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='db1' then
- do
- yw = 2.445 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='c#1' then
- do
- yw = 2.545 + zdist2
- box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
- end
-
- when nn=='c1' then
- do
- yw = 2.545 + zdist2
- if al == 'n' then call auflhoch()
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
- end
-
- /* y-Raster der Noten - Notenhälse nach unten */
-
- when nn=='G#3' then
- do
- yw = 1.22 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
- end
-
- when nn=='G3' then
- do
- yw = 1.22 + zdist2
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
- end
-
- when nn=='Gb3' then
- do
- yw = 1.22 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4)
- end
-
- when nn=='F#3' then
- do
- yw = 1.32 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='F3' then
- do
- yw = 1.32 + zdist2
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='E#3' then
- do
- yw = 1.42 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='E3' then
- do
- yw = 1.42 + zdist2
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='Eb3' then
- do
- yw = 1.42 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6)
- end
-
- when nn=='D#3' then
- do
- yw = 1.52 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='D3' then
- do
- yw = 1.52 + zdist2
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='Db3' then
- do
- yw = 1.52 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='C#3' then
- do
- yw = 1.62 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='C3' then
- do
- yw = 1.62 + zdist2
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8)
- end
-
- when nn=='B2' then
- do
- yw = 1.72 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='Bb2' then
- do
- yw = 1.72 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='A#2' then
- do
- yw = 1.82 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='A2' then
- do
- yw = 1.82 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='Ab2' then
- do
- yw = 1.82 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='G#2' then
- do
- yw = 1.92 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='G2' then
- do
- yw = 1.92 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='Gb2' then
- do
- yw = 1.92 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='F#2' then
- do
- yw = 2.02 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='F2' then
- do
- yw = 2.02 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='E#2' then
- do
- yw = 2.12 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='E2' then
- do
- yw = 2.12 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='Eb2' then
- do
- yw = 2.12 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='D#2' then
- do
- yw = 2.22 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='D2' then
- do
- yw = 2.22 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='Db2' then
- do
- yw = 2.22 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='C#2' then
- do
- yw = 2.32 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='C2' then
- do
- yw = 2.32 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='B1' then yw = 2.42 + zdist2
- when nn=='Bb1' then
- do
- yw = 2.42 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='A#1' then
- do
- yw = 2.52 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='A1' then
- do
- yw = 2.52 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='Ab1' then
- do
- yw = 2.52 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='G#1' then
- do
- yw = 2.62 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='G1' then
- do
- yw = 2.62 + zdist2
- if al == 'n' then call aufltief()
- end
- when nn=='Gb1' then
- do
- yw = 2.62 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- end
-
- when nn=='F#1' then
- do
- yw = 2.72 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- end
-
- when nn=='F1' then
- do
- yw = 2.72 + zdist2
- if al == 'n' then call aufltief()
- end
-
- when nn=='E#1' then
- do
- yw = 2.82 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='E1' then
- do
- yw = 2.82 + zdist2
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='Eb1' then
- do
- yw = 2.82 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='D#1' then
- do
- yw = 2.92 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='D1' then
- do
- yw = 2.92 + zdist2
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='Db1' then
- do
- yw = 2.92 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 'f')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- end
-
- when nn=='C#1' then
- do
- yw = 3.02 + zdist2
- box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0)
- call ppm_SetSize(20)
- call ppm_TextIntoBox(box#id, 's')
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
- end
-
- when nn=='C1' then
- do
- yw = 3.02 + zdist2
- if al == 'n' then call aufltief()
- call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3)
- call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2)
- end
- otherwise notenwert()
- end
-
- /* dimension of a notebox */
-
- notewidht = 0.64
- noteheight = 0.97
-
-
- boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0)
- call ppm_SetSize(notepkt)
- call ppm_TextIntoBox(boxid, nw)
- bakx = notex
- notex = (notex + xw)
- if notex >=18.7 then
- do
- notex = 2.5
- zz = zz + zdist
- end
- px = notex - 4
- py = zz-1
- if px < 0 then px = 0
- call ppm_SetPagePosition(px, py+1.5)
- end
- end
- end
- exit
-
- auflhoch:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
- return
- end
-
- aufltief:
- do
- Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0)
- boxnm = ppm_DocNextBox(Pbox)
- call ppm_DeleteContents(boxnm)
- call ppm_ImportGraphic(boxnm, 'Genies:note_pause/naturalsng', Zeichen)
- return
- end
-
- break_d:
- break_e:
- break_c:
- halt:
- call exit_msg("User aborted Genie!")
-
- exit_msg: procedure
- do
- parse arg message
-
- if message ~= '' then
- call ppm_Inform(1,message,)
-
- call ppm_ClearStatus()
- call ppm_AutoUpdate(1)
- exit
- end
-